import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { NgZorroAntdModule } from 'ng-zorro-antd';
import { AppComponent } from './app.component';



import {InputTrimDirective} from "./directives/directives";
import {appRoutingModule} from "./routes/app.routes";
import { RouterModule, Routes } from '@angular/router';
import { ReactiveFormsModule } from '@angular/forms';
import {HttpModule} from "@angular/http";
import {LocalStorage,Http} from "./utils/utils";

import {Properties} from "./entities/entities";


import  {RoleService,LoginService,UserService} from "./services/services";
import {LoginResolve,ModelPermissionResolve} from "./routes/resolves/resolves";
import {DropdownUserComponent,SelectRoleComponent,LayoutTopSideComponent,LoginComponent,SideComponent,ErrorComponent,UserInsertComponent,UserListComponent} from "./components/components";

@NgModule({
  declarations: [
    AppComponent,
    LayoutTopSideComponent,
    LoginComponent,
    SideComponent,
    ErrorComponent,
    UserInsertComponent,
    UserListComponent,
    SelectRoleComponent,
    DropdownUserComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpClientModule,
    BrowserAnimationsModule,
    NgZorroAntdModule.forRoot(),
    appRoutingModule,
    ReactiveFormsModule,
    HttpModule
  ],
  bootstrap: [AppComponent],
  providers:[
    Properties,
    LocalStorage,
    Http,LoginService,
    UserService,
    LoginResolve,
    RoleService,
    ModelPermissionResolve]//依赖注入
})
export class AppModule { }